<?php

class View implements IView {

    /**
     * @method  includeView
     *
     * Metodo responsavel por chamar a index view e gravar em INTERFACE
     * O pacote e a view solicitada.
     *
     * @param	$ViewFile	string		Nome da view que sera chamada
     * @param   $StPackage      string          Nome do pacote da view
     *
     * @author	Richard Brandao	<richard@hostnet.com.br>
     * @since	2011-09-10
     * @return	void
     */
    public function includeView($ViewFile, $StPackage) {
        $this->save(SESSION_INTERFACE, 'INCLUDE', $ViewFile);
        $this->save(SESSION_INTERFACE, 'PACKAGE_VIEW', $StPackage);
        require_once DRA_VIEW_PATH . 'index.view.phtml';
    }

    /**
     * @method  includeSingleFile
     *
     * Inclui uma view simples, geralmente usada para casos de ajax
     *
     * @param string $ViewFile     Nome da view que sera chamada
     * @param string $StPackage    Nome do pacote da view
     *
     * @author  Richard Brandao <richardsbrandao@gmail.com>
     */
    public function includeSingleFile($ViewFile, $StPackage) {
        require_once DRA_VIEW_PATH . 'package/' . $StPackage . '/' . $ViewFile . '.view.phtml';
    }

    /**
     * @method  getHeader
     *
     * Inclui no determinado arquivo a view de cabecalho do sistema
     *
     * @since   2011-09-10
     * @return  void
     */
    public function getHeader() {
        include_once DRA_PACKAGE_VIEW_PATH . 'index/header.view.phtml';
    }

    /**
     * @method  getSubMenu
     *
     * Inclui a view de submenu do sistema
     *
     * @return  void
     * @since   2011-09-10
     */
    public function getSubMenu() {
        include_once DRA_PACKAGE_VIEW_PATH . 'index/submenu.view.phtml';
    }

    /**
     * @method  getContent
     *
     * Inclui a view de conteudo do sistema
     *
     * @param string $FileInclude Nome da View que sera incluida
     * @return  void
     * @since   2011-09-10
     */
    public function getContent($Package, $FileInclude) {
        include_once DRA_PACKAGE_VIEW_PATH . $Package . '/' . $FileInclude . '.view.phtml';
    }

    /**
     * @method  getFooter
     *
     * Inclui a view de footer do sistema
     *
     * @return  void
     * @since   2011-09-10
     */
    public function getFooter() {
        include_once DRA_PACKAGE_VIEW_PATH . 'index/footer.view.phtml';
    }

    /**
     * @method  save
     *
     * Salva em sessao valores salvos por uma respectiva controller que sera
     * usado nas views ou por outras controllers
     *
     * @param string $StIndex   Indice que sera armazenado
     * @param mixed  $MxValue   Valor a ser armazenado
     * @since   2011-09-10
     * @return  void
     */
    public function save($Base, $StIndex, $MxValue) {
        Dracosys::saveSessionValue($Base, $StIndex, $MxValue);
    }

    public function getFeedbackMessage() {
        return Dracosys::getSessionValue(SESSION_INTERFACE, 'FEEDBACK');
    }

}

?>
